Dossier partagé dans KVM

Création d’un partage entre un hyperviseur KVM et une de ses machines virtuelles

Activation de samba

systemctl enable smb nmb

systemctl start smb nmb

Virbr0 est le bridge linux créé par libvirt lors de son installation, il faut l'identifier

ip a show dev virbr0

SI on veut modifier l'adresse de virbr0

virsh net-edit default

On crée le partage et le compte utilisateur pour s'y connecter

mkdir /partage_vm

useradd -m -d /partage_vm partage

chown -R partage /partage_vm

chmod g+w /partage_vm

smbpasswd -a partage

On declare le partage dans le ficher /etc/samba/smb.conf

[global]

       workgroup = WorkGroup

       netbios name = Host

       server string = serveur %h (Samba %partagevm)

       # On souhaite n'autoriser l'accès que via certaines interfaces réseau

       bind interfaces only = Yes

       interfaces = 127.0.0.1, 192.168.122.1

       log file = /var/log/samba/log.%m

       max log size = 100

[partage_vm]

       path = /partage_vm/

       public = no

       browsable = yes

       valid users = partage

       guest ok = no

       writable = yes

       printable = no

       hide files = /lost+found/

       hide unreadable = yes

       # on force les permissions

       create mask = 777

       force create mode = 777

       security mask = 777

       force security mode = 777

On redemarre samba et on ouvre les ports samba

systemctl restart nmb.service smb.service

firewall-cmd --add-service=samba --permanent --add-source=192.168.122.1/24

Test du serveur depuis l'hyperviseur

smbclient //192.168.122.1/partage_vm -U partage

Si SELinux est actif dans un dossier specifique

semanage fcontext -a -t samba_share_t '/partage_vm(/.*)?'

restorecon -R /partage_vm

Si SELinux est dans /home

setsebool -P samba_enable_home_dirs on

Pour vérifier le contexte de SELinux

ls -Z /partage_vm

-rw-rw-r--. partage partage unconfined_u:object_r:samba_share_t:s0 truc.txt

Sur la VM, le dossier est accessible à l’adresse \\ip_de_virbr0\partage_vm